build: avoid errors during release candidate kernel packaging
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Fri, 19 Dec 2025 06:34:54 +0000 (07:34 +0100)
committerRobert Marko <robimarko@gmail.com>
Sat, 20 Dec 2025 10:06:47 +0000 (11:06 +0100)
commitd34cef823e103240516f01a54a3f01a09d9f36ed
tree9763dd05801f6c3fd81e000af32d3cc1a998028c
parentcaef0a839a80749b7a125f09cb26814980fb7202
build: avoid errors during release candidate kernel packaging

The build system allows to use Linux release candidate kernels (-rcX).
For this a target/linux/generic/kernel-6.XY as follows is needed:

LINUX_VERSION-6.XY = -rc1
LINUX_KERNEL_HASH-6.XY-rc1 = 18ba6ebd72f46b881e0d73e390b2888b7b43...

Sadly the builds fail with a packaging error.

fakeroot /home/openwrt/openwrt/openwrt/staging_dir/host/bin/apk
mkpkg --info "name:kernel" --info "version:6.15-rc1~c4bf...1f6-r1"
ERROR: info field 'version' has invalid value: package version is invalid

The apk metadata specification reads:

"... Currently the APK version specification is as follows:
number{.number}...{letter}{_suffix{number}}...{~hash}{-r#} ...
Optionally one or more _suffix{number} components can follow.
The list of valid suffixes (and their sorting order) is: alpha,
beta, pre, rc, <no suffix>, cvs, svn, git, hg, p."

Given that the kernel uses "-rcX" naming scheme and apk requires
"_rcX" instead, simply translate the dash to an underscore for
these builds.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21214
Signed-off-by: Robert Marko <robimarko@gmail.com>
include/kernel.mk
package/Makefile
package/kernel/linux/Makefile